package com.engine.salary.entity.siaccount.po;

import com.engine.salary.annotation.Encrypt;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @Author: sy
 * @Description: 线下Excel福利明细表
 * @Date: 2022/9/27
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_excel_bill_detail
public class ExcelInsuranceDetailPO {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 员工id
     */
    private Long employeeId;

    /**
     * 账单月份，该处的账单月份即导入的数据需要对比的账单月份
     */
    private String billMonth;

    /**
     * 账单状态 0-未归档 1-已归档
     */
    private Integer billStatus;

    /**
     * 缴纳状态
     */
    private Integer paymentStatus;

    /**
     * 补缴月份
     */
    private String supplementaryMonth;

    /**
     * 补缴项目
     */
    private String supplementaryProjects;

    /**
     * 数据来源 0-系统核算 1-临时数据
     */
    private Integer resourceFrom;

    /**
     * 社保缴纳组织
     */
    private Long socialPayOrg;

    /**
     * 社保账号
     */
    private String socialAccount;

    /**
     * 公积金缴纳组织
     */
    private Long fundPayOrg;

    /**
     * 公积金账号
     */
    private String fundAccount;

    /**
     * 补充公积金账号
     */
    private String supplementFundAccount;

    /**
     * 其他福利缴纳组织
     */
    private Long otherPayOrg;

    /**
     * 社保方案ID
     */
    private Long socialSchemeId;

    /**
     * 社保缴纳基数
     */
    @Encrypt
    private String socialPaymentBaseString;

    /**
     * 社保缴纳基数——单位
     */
    @Encrypt
    private String socialPaymentComBaseString;

    /**
     * 公积金方案ID
     */
    private Long fundSchemeId;

    /**
     * 公积金缴纳基数
     */
    @Encrypt
    private String fundPaymentBaseString;

    /**
     * 公积金缴纳基数——单位
     */
    @Encrypt
    private String fundPaymentComBaseString;

    /**
     * 其他福利方案id
     */
    private Long otherSchemeId;

    /**
     * 其他福利缴纳基数
     */
    @Encrypt
    private String otherPaymentBaseString;

    /**
     * 其他福利缴纳基数——单位
     */
    @Encrypt
    private String otherPaymentComBaseString;

    /**
     * 社保个人缴费明细
     */
    @Encrypt
    private String socialPerJson;

    /**
     * 社保个人合计
     */
    @Encrypt
    private String socialPerSum;

    /**
     * 公积金个人缴费明细
     */
    @Encrypt
    private String fundPerJson;

    /**
     * 公积金个人合计
     */
    @Encrypt
    private String fundPerSum;

    /**
     * 其他福利个人缴费明细
     */
    @Encrypt
    private String otherPerJson;

    /**
     * 其他福利个人合计
     */
    @Encrypt
    private String otherPerSum;

    /**
     * 个人合计
     */
    @Encrypt
    private String perSum;

    /**
     * 社保单位缴费明细
     */
    @Encrypt
    private String socialComJson;

    /**
     * 社保单位合计
     */
    @Encrypt
    private String socialComSum;

    /**
     * 公积金单位缴费明细
     */
    private String fundComJson;

    /**
     * 公积金单位合计
     */
    private String fundComSum;

    /**
     * 其他福利单位缴费明细
     */
    private String otherComJson;

    /**
     * 其他福利单位合计
     */
    private String otherComSum;

    /**
     * 单位合计
     */
    @Encrypt
    private String comSum;

    /**
     * 社保合计
     */
    @Encrypt
    private String socialSum;

    /**
     * 公积金合计
     */
    @Encrypt
    private String fundSum;

    /**
     * 其他福利合计
     */
    @Encrypt
    private String otherSum;

    /**
     * 合计
     */
    @Encrypt
    private String total;

    /**
     * 创建人id
     */
    private Long creator;

    /**
     * 是否删除
     */
    private Integer deleteType;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 租户key
     */
    private String tenantKey;

    /**
     * 个税扣缴义务人
     */
    private Long paymentOrganization;
}
